package com.qdc.datacenters.service;

import com.github.pagehelper.PageInfo;
import com.qdc.datacenters.domain.entity.ChatMsgRule;
import com.qdc.datacenters.domain.query.rule.ChatMsgRuleAddQuery;
import com.qdc.datacenters.domain.query.rule.ChatMsgRuleQuery;
import com.qdc.datacenters.domain.query.rule.ChatMsgTimeoutListQuery;
import com.qdc.datacenters.domain.vo.rule.ChatMsgRuleListVo;
import com.qdc.datacenters.domain.vo.rule.ChatMsgRuleVo;
import com.qdc.datacenters.domain.vo.rule.GroupTimeoutListVo;
import com.qdc.datacenters.domain.vo.rule.SingleTimeoutListVo;

import java.util.List;

/**
 * 会话超时规则表(ChatMsgRule)表服务接口
 *
 * @author danmo
 * @since 2024-03-18 10:12:11
 */
public interface IChatMsgRuleService extends IBaseService<ChatMsgRule> {

    void add(ChatMsgRuleAddQuery query);

    void edit(ChatMsgRuleAddQuery query);

    void delete(ChatMsgRuleQuery query);

    ChatMsgRuleVo getRuleDetail(ChatMsgRuleQuery query);

    PageInfo<ChatMsgRuleListVo> getRulePageList(ChatMsgRuleQuery query);

    List<ChatMsgRuleListVo> getRuleList(ChatMsgRuleQuery query);

    List<ChatMsgRuleListVo> getRuleListByUserId(ChatMsgRuleQuery query);

    List<SingleTimeoutListVo> getSingleTimeOutList(ChatMsgTimeoutListQuery query);

    List<GroupTimeoutListVo> getGroupTimeOutList(ChatMsgTimeoutListQuery query);
}

